package com.jwsoft.manager.core.integration;

import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.YwApply.EnrollCheckShLqVO;
import com.jwsoft.manager.common.vo.eduStudentEnroll.*;
import com.jwsoft.manager.common.vo.eduStudentEnrollVerification.EduStudentEnrollVerificationVO;
import com.jwsoft.manager.core.dao.model.EduStudentEnrollPre;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 模拟报名业务本地接口
 *
 * @author chenzh
 * @since 2024-03-11
 */
public interface EduStudentEnrollImitateIntegration {
    /** 分页查询 */
    PageInfo<EduStudentEnrollVO> getList(EduStudentEnrollQueryVO vo);
    /** 根据主键查询详情 */
    EduStudentEnrollVO getById(EduStudentEnrollKeyVO vo);

    /** 保存前统一校验*/
    void checkSave(SaveStudentEnrollVO vo);
    /** 新增 */
    SaveStudentEnrollVO add(SaveStudentEnrollVO vo);
    /** 家长端报名 */
    SaveStudentEnrollVO saveEnrollApp(SaveStudentEnrollVO vo);
    /** 修改 */
    EduStudentEnrollVO edit(EduStudentEnrollVO vo);
    /** 根据主键删除 */
    void del(EduStudentEnrollKeyVO vo);
    //获取查询是否在审核录取操作期内
    Boolean checkShLq(EnrollCheckShLqVO vo);
    //校验报名情况
    Boolean checkEnroll(YjbmQueryVO vo);

    Boolean checkEnroll(EduStudentEnrollPre eduStudentEnrollPre);

    Boolean checkEnroll(String idcard, Integer year);

    EduStudentEnrollPre getPre(String studentEnrollPreId,String idcard);

    //回退到待审核
    void backAuth(EduStudentEnrollKeyVO vo);

    //报名退回 删除
    void ywApplyBack(EduStudentEnrollKeyVO vo);

    //家长端报名退回 删除
    void ywApplyBackApp(EduStudentEnrollKeyVO vo);

    void updateEnrollStatus(UpdateEnrollStatusVO vo);
    //报名审核
    void ywAudit(StudentEnrollSaveVO vo);

    List<EduStudentEnrollVerificationVO> getVerification(EduStudentEnrollVerificationVO vo);

    void verificationAudit(EduStudentEnrollVerificationVO vo);

    EduStudentEnrollVO getYwApplyDetail(EduStudentEnrollKeyVO vo);
    EduStudentEnrollVO getYwApplyById(EduStudentEnrollKeyVO vo);

    StudentEnrollCntVO queryBmCnt(EduStudentEnrollQueryVO vo);
    //教育局复审
    void ywReview(StudentEnrollSaveVO vo);
    void checkSh(EnrollCheckShLqVO vo);
    //模拟报名数据导出
    void exportYwGbApplyInfo(EduStudentEnrollQueryVO vo, HttpServletResponse response);
}
